package com.fabriciojf.dbunit;

import java.io.FileOutputStream;
import java.util.List;

import org.dbunit.database.QueryDataSet;
import org.dbunit.dataset.xml.FlatXmlDataSet;

/**
 * Classe para gerar o xml contendo os dados
 *
 * @author Fabricio S Costa
 * @since 26/08/2010
 * @version 1.0
 */
public class GerarXml {

	/**
	 * Gera o arquivo xml no formato reconhecido pelo DBUnit
	 */
    public static boolean gerarArquivo(List<String> tabelas) {

        try {
            QueryDataSet partialDataSet = new QueryDataSet(JDBCConnection.getConnectionDbDefault());

            // Insere todas as tabelas q forem passadas pelo parametro List<String> tabelas 
            for (String tabela : tabelas) {
                partialDataSet.addTable(tabela);
            }

            // Arquivo xml com os dados extraidos da base de testes default
            FlatXmlDataSet.write(partialDataSet, new FileOutputStream("src/test/resources/sample-data.xml"));
        } catch (Exception e) {
            System.out.println(e.getMessage());
            return false;
        }

        return true;
    }
}
